package secondStage.part5.网络编程.UDP通信息程序;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

/**
 * @ClassName: [SendUdpTest]
 * @Description: UDP发送信息
 * @Author: [黄劲松]
 * @CreateDate: [2021-04-05]
 * @Version: [v1.0]
 */
/*
2.4 UDP通信程序练习
按照下面的要求实现程序
●UDP发送数据:数据来自于键盘录入，直到输入的数据是886,发送数据结束
●UDP接收数据:因为接收端不知道发送端什么时候停止发送,故采用死循环接收
 */
public class SendUdpTest {
    public static void main(String[] args) throws IOException {
        //创建发送端的Socket对象(DatagramSocket)
        DatagramSocket ds = new DatagramSocket();
        //自己封装键盘录入数据
        System.out.println("请输入信息：");
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line;
        while ((line = br.readLine()) != null) {
            //输入的数据是886，发送数据结束
            if ("886".equals(line)) {
                break;
            }
            //创建数据，并把数据打包
            byte[] bys = line.getBytes();
            DatagramPacket dp = new DatagramPacket(bys, bys.length, InetAddress.getByName("192.168.1.115"), 12345);
            //调用DatagramSocket对象的方法发送数据
            ds.send(dp);
        }
        // 关闭发送端
        ds.close();
    }
}


